package ar.com.seminario.service;

import java.util.List;

import ar.com.seminario.common.service.exception.ServiceException;
import ar.com.seminario.dto.CandidatoDto;
import ar.com.seminario.dto.PerfilDto;
import ar.com.seminario.model.Candidato;

/**
 * Servicio de acceso a los candidatos.
 * 
 * @author Dario Camarro
 * @author Pablo Lamas
 *
 */
public interface ICandidatoService {
	
	public List<CandidatoDto> getCandidatosDtoPorNombre(String nombre);
	
	public List<CandidatoDto> getAllCandidatosDto() throws ServiceException;
	
	public CandidatoDto getCandidatoDto(Candidato candidato);
	
	public CandidatoDto getCandidatoDtoPorId(Long idCandidato);
	
	public void saveCandidato(CandidatoDto candidatoNuevo) throws ServiceException;

	public void asociarPostulanteNuevo(CandidatoDto candidatoDto) throws ServiceException;
	
	public Candidato getCandidatoPorId(Long idCandidato) throws ServiceException;

	public List<CandidatoDto> getCandidatosPorPerfiles(	List<PerfilDto> perfilesCompatibles);

}
